//******************************************************************************
//****																		****
//****							   Constants								****
//****																		****
//******************************************************************************
const int GRAPHICS_BACKBUFFER		=	0x02;
const int GRAPHICS_ALPHABUFFER		=	0x04;
const int GRAPHICS_DEPTHBUFFER		=	0x08;
const int GRAPHICS_STENCILBUFFER	=	0x10;
const int GRAPHICS_ACCUMBUFFER		=	0x20;

const int BLEND_NONE				=	   0;
const int BLEND_ALPHA				=	   1;
const int BLEND_LIGHT				=	   2;
const int BLEND_SHADE				=	   3;
const int BLEND_MOD2X				=	   4;

const int TEXFILTER_MIPMAP			=	   1;
const int TEXFILTER_SMOOTH			=	   2;
const int TEXFILTER_PIXEL			=	   3;

const int MAX_COLOR_BUFFERS			=	   3;

const int BUFFER_DEPTH				=	   1;
const int BUFFER_COLOR				=	   2;
const int BUFFER_COLOR0				=	   2;
const int BUFFER_COLOR1				=	   4;
const int BUFFER_COLOR2				=	   8;
const int BUFFER_COLOR3				=	  16;
const int BUFFER_NORMAL				= BUFFER_COLOR1;

const int TEXTURE_LUMINANCE8		=	   1;
const int TEXTURE_LUMINANCE			= TEXTURE_LUMINANCE8;
const int TEXTURE_ALPHA8			=	   2;
const int TEXTURE_ALPHA				= TEXTURE_ALPHA8;
const int TEXTURE_RGB8				=	   3;
const int TEXTURE_RGB				= TEXTURE_RGB8;
const int TEXTURE_RGBA8				=	   4;
const int TEXTURE_RGBA				= TEXTURE_RGBA8;
const int TEXTURE_DEPTH24			=	   5;
const int TEXTURE_DEPTH				= TEXTURE_DEPTH24;
const int TEXTURE_RGBA16			=	   6;
const int TEXTURE_FLOAT				=	   7;
const int TEXTURE_RGBA32			=	   8;
const int TEXTURE_RG11B10			=	   9;

const int ENTITY_MESH				=	   1;
const int ENTITY_EMITTER			=	   2;
const int ENTITY_MODEL				=	   4;
const int ENTITY_BODY				=	   8;
const int ENTITY_TERRAIN			=	  16;
const int ENTITY_BONE				=	  64;
const int ENTITY_CAMERA				=	 128;
const int ENTITY_CORONA				=	 256;
const int ENTITY_SPOTLIGHT			=	 512;
const int ENTITY_LISTENER			=	1024;
const int ENTITY_PIVOT				=	2048;
const int ENTITY_MESHLAYER			=	4096;
const int ENTITY_POINTLIGHT			=	8192;
const int ENTITY_DIRECTIONALLIGHT	=  16384;
const int ENTITY_VEGETATION			=  32768;
const int ENTITY_CONTROLLER			=  65536;
const int ENTITY_ALL				= ENTITY_MESH|ENTITY_EMITTER|ENTITY_MODEL|ENTITY_TERRAIN|ENTITY_BODY|ENTITY_BONE|ENTITY_CAMERA|ENTITY_CORONA|ENTITY_POINTLIGHT|ENTITY_SPOTLIGHT|ENTITY_DIRECTIONALLIGHT|ENTITY_LISTENER|ENTITY_PIVOT|ENTITY_MESHLAYER;
const int ENTITY_RENDERABLE			= ENTITY_MESH|ENTITY_TERRAIN|ENTITY_CORONA|ENTITY_EMITTER|ENTITY_SPOTLIGHT|ENTITY_POINTLIGHT|ENTITY_MESHLAYER|ENTITY_VEGETATION;

const int RENDER_ALL				= ENTITY_RENDERABLE;

const int FONT_BOLD					=	   1;
const int FONT_ITALIC				=	   2;
const int FONT_UNDERLINE			=	   4;

const int SHADOW_DISABLED			=	   0;
const int SHADOW_DYNAMIC			=	   1;
const int SHADOW_STATIC				=	   2;
const int SHADOW_BUFFERED			=	   4;
const int SHADOW_COLOR				=	   8;

const int SHADOW_QUALITY_DISABLED	=	   0;
const int SHADOW_QUALITY_HIGH		=	   1;
const int SHADOW_QUALITY_MEDIUM		=	   2;
const int SHADOW_QUALITY_LOW		=	   3;

const int VIEWRANGE_NEAR			=	   0;
const int VIEWRANGE_MEDIUM			=	   1;
const int VIEWRANGE_FAR				=	   2;
const int VIEWRANGE_INFINITE		=	   3;

const int APPLOG_NORMAL				=	   0;
const int APPLOG_WARNING			=	   1;
const int APPLOG_ERROR				=	   2;

const int SOURCE_LOOP				=	   1;
const int SOURCE_EAX				=	   2;
const int SOURCE_STOPPED			=	   0;
const int SOURCE_PLAYING			=	   1;
const int SOURCE_PAUSED				=	   2;

const int EAX_NORMAL				=	   0;
const int EAX_GENERIC				=	   1;
const int EAX_PADDEDCELL			=	   2;
const int EAX_ROOM					=	   3;
const int EAX_BATHROOM				=	   4;
const int EAX_LIVINGROOM			=	   5;
const int EAX_STONEROOM				=	   6;
const int EAX_AUDITORIUM			=	   7;
const int EAX_CONCERTHALL			=	   8;
const int EAX_CAVE					=	   9;
const int EAX_ARENA					=	  10;
const int EAX_HANGAR				=	  11;
const int EAX_CARPETTEDHALLWAY		=	  12;
const int EAX_HALLWAY				=	  13;
const int EAX_STONECORRIDOR			=	  14;
const int EAX_ALLEY					=	  15;
const int EAX_FOREST				=	  16;
const int EAX_CITY					=	  17;
const int EAX_MOUNTAINS				=	  18;
const int EAX_QUARRY				=	  19;
const int EAX_PLAIN					=	  20;
const int EAX_PARKINGLOT			=	  21;
const int EAX_SEWERPIPE				=	  22;
const int EAX_UNDERWATER			=	  23;
const int EAX_DRUGGED				=	  24;
const int EAX_DIZZY					=	  25;
const int EAX_PSYCHOTIC				=	  26;

const int ENTITYCALLBACK_FREE		=	   1;
const int ENTITYCALLBACK_UPDATEMATRIX	=  2;
const int ENTITYCALLBACK_COLLISION	=	   3;
const int ENTITYCALLBACK_ACTIVATE	=	   4;
const int ENTITYCALLBACK_DEACTIVATE	=	   5;
const int ENTITYCALLBACK_ENABLE		=	   6;
const int ENTITYCALLBACK_DISABLE	=	   7;
const int ENTITYCALLBACK_UPDATE		=	   8;
const int ENTITYCALLBACK_MESSAGERECEIVE	=  9;
const int ENTITYCALLBACK_UPDATEPHYSICS	= 10;
const int ENTITYCALLBACK_DRAW			= 11;
const int ENTITYCALLBACK_DRAWEACH		= 12;

const int MATERIALCALLBACK_ENABLE	=	   1;
const int MATERIALCALLBACK_DRAW		=	   2;
const int MATERIALCALLBACK_DISABLE	=	   3;

const int LIGHTCALLBACK_INTENSITY	=	 101;

const int ENTITY_MAX_TARGETS		=	  16;

const int VENDOR_NVIDIA				=	   1;
const int VENDOR_ATI				=	   2;
const int VENDOR_UNKNOWN			=	   3;

enum TKey
{
	KEY_BACKSPACE=8,KEY_TAB,
	KEY_ENTER=13,
	KEY_ESCAPE=27,
	KEY_SPACE=32,
	KEY_PAGEUP=33,KEY_PAGEDOWN,KEY_END,KEY_HOME,
	KEY_LEFT=37,KEY_UP,KEY_RIGHT,KEY_DOWN,
	KEY_PRINT=42,KEY_INSERT=45,KEY_DELETE,
	KEY_0=48,KEY_1,KEY_2,KEY_3,KEY_4,KEY_5,KEY_6,KEY_7,KEY_8,KEY_9,
	KEY_A=65,KEY_B,KEY_C,KEY_D,KEY_E,KEY_F,KEY_G,KEY_H,KEY_I,KEY_J,
	KEY_K,KEY_L,KEY_M,KEY_N,KEY_O,KEY_P,KEY_Q,KEY_R,KEY_S,KEY_T,
	KEY_U,KEY_V,KEY_W,KEY_X,KEY_Y,KEY_Z,

	KEY_LSYS=91,KEY_RSYS,

	KEY_NUM0=96,KEY_NUM1,KEY_NUM2,KEY_NUM3,KEY_NUM4,
	KEY_NUM5,KEY_NUM6,KEY_NUM7,KEY_NUM8,KEY_NUM9,
	KEY_NUMMULTIPLY=106,KEY_NUMADD,KEY_NUMSLASH,
	KEY_NUMSUBTRACT,KEY_NUMDECIMAL,KEY_NUMDIVIDE,

	KEY_F1=112,KEY_F2,KEY_F3,KEY_F4,KEY_F5,KEY_F6,
	KEY_F7,KEY_F8,KEY_F9,KEY_F10,KEY_F11,KEY_F12,

	KEY_LSHIFT=160,KEY_RSHIFT,
	KEY_LCONTROL=162,KEY_RCONTROL,
	KEY_LALT=164,KEY_RALT,

	KEY_SECTION=167,KEY_TILDE=192,KEY_MINUS=189,KEY_EQUALS=187,
	KEY_OPENBRACKET=219,KEY_CLOSEBRACKET=221,KEY_BACKSLASH=226,
	KEY_SEMICOLON=186,KEY_QUOTES=222,
	KEY_COMMA=188,KEY_PERIOD=190,KEY_SLASH=191
};

enum TMouse
{
	MOUSE_LEFT=1,
	MOUSE_RIGHT=2,
	MOUSE_MIDDLE=3
};
